---
title: clsAttorneyProfile
summary: API reference for clsAttorneyProfile.
status: draft
owner: SAIF Case Management team
last_reviewed: 2026-08-21
library: SAIF.Business.Claim.Legal
reference_type: embedded
---

# clsAttorneyProfile

`clsAttorneyProfile` holds the legal-operations profile for one attorney, including assignment eligibility flags, hearing-location preferences, reporting relationships, workload percentage, and bar/licensing identifiers.* It drives how attorney records are configured for claim assignment and lookup scenarios, and validates required dates, attorney type, and duplicate profile entries within a collection.

## Purpose
- Captures the claim categories, locations, and support-staff relationships that define an attorney's working profile.
- Provides lookup-backed display properties and business-rule checks for dates, type selection, and duplicate attorney rows.

## Context
- Namespace: `SAIF.Business.Claim.Legal.TableMaint`
- Assembly/package: `SAIF.Business.Claim.Legal`

## Public members

| Member | Kind | Type | Purpose |
|---|---|---|---|
| AttorneyEmployeeID | Property | `String` | Employee ID of the attorney attached to this row. |
| EffectiveDate | Property | `Date` | Date the row becomes effective. |
| ExpirationDate | Property | `Date` | Date the row stops applying; when cleared, the row remains open-ended. |
| CanAssignCCUClaims | Property | `Boolean` | Whether this attorney profile is eligible for CCU claim assignments. |
| CanAssignPTDClaims | Property | `Boolean` | Whether this attorney profile is eligible for PTD claim assignments. |
| CanAssignPPDClaims | Property | `Boolean` | Whether this attorney profile is eligible for PPD claim assignments. |
| CanAssignConfidentialClaims | Property | `Boolean` | Whether this attorney profile is eligible for confidential claim assignments. |
| CanAssignHealthIssueClaims | Property | `Boolean` | Whether this attorney profile is eligible for health-issue claim assignments. |
| CanAssignDCBSClaims | Property | `Boolean` | Whether this attorney profile is eligible for DCBS claim assignments. |
| CanAssignFederalClaims | Property | `Boolean` | Whether this attorney profile is eligible for federal claim assignments. |
| AttorneyTypeCode | Property | `String` | Code identifying the attorney's profile/type classification. |
| AttorneyType | Read-only property | `String` | Resolved description for `AttorneyTypeCode`. |
| CreateDate | Property | `Date` | Timestamp recorded when the row was created. |
| CreateUser | Property | `String` | User ID recorded when the row was created. |
| LoadPercent | Property | `Decimal` | Workload percentage stored for balancing or assigning this attorney.* |
| PrimaryHearingLocationCode | Property | `String` | Primary hearing-location code associated with the attorney profile. |
| PrimaryHearingLocationName | Read-only property | `String` | Resolved description for `PrimaryHearingLocationCode`. |
| SecondaryHearingLocationCode | Property | `String` | Secondary hearing-location code associated with the attorney profile. |
| SecondaryHearingLocationName | Read-only property | `String` | Resolved description for `SecondaryHearingLocationCode`. |
| ClaimTeamCode | Property | `String` | Claim-team code associated with the attorney profile. |
| SecretaryEmployeeID | Property | `String` | Employee ID of the secretary assigned to this attorney profile. |
| SecretaryName | Read-only property | `String` | Display name resolved for `SecretaryEmployeeID`. |
| ManagerEmployeeID | Property | `String` | Employee ID of the manager assigned to this attorney profile. |
| ManagerName | Read-only property | `String` | Display name resolved for `ManagerEmployeeID`. |
| TertiaryHearingLocationCode | Property | `String` | Tertiary hearing-location code associated with the attorney profile. |
| TertiaryHearingLocationName | Read-only property | `String` | Resolved description for `TertiaryHearingLocationCode`. |
| UpdateDate | Property | `Date` | Timestamp recorded when the row was last updated. |
| UpdateUser | Property | `String` | User ID recorded when the row was last updated. |
| OregonStateBarNumber | Property | `String` | Bar-number value stored for the attorney profile. |
| EmployeeName | Property | `String` | Display-name selector that back-fills `AttorneyEmployeeID` from the legal-staff lookup when a matching name is chosen. |
| LegalStaff | Read-only property | `List(Of CodeTables.clsAttorneyList)` | Lookup list of legal-staff entries used to resolve attorneys, secretaries, and managers. |
| HearingLocationCodes | Read-only property | `List(Of clsCodeTableBase.CodeTableInfo(Of String))` | Lookup list of hearing-location codes available for the profile's primary/secondary/tertiary assignments. |
| IsEffectiveDateNull() | Method | `Boolean` | Reports whether the profile's begin date is currently empty for `IDateRange` consumers. |
| IsExpirationDateNull() | Method | `Boolean` | Reports whether the profile's end date is currently empty for `IDateRange` consumers. |
| Create() | Protected Method | `—` | Initializes a new profile with today's effective date and stamps the current create user/date. |
| BeforeRetrieve(inPortalRequest As IPortalRequest) | Protected Method | `—` | Builds the retrieve request used to load this attorney profile. |
| AfterRetrieve(inPortalRequest As IPortalRequest) | Protected Method | `IBusinessObject` | Copies the retrieved result-set row into this attorney profile and marks it as persisted. |
| AddInsertUpdateParms(inDataRequest As IDataRequest) | Protected Method | `—` | Adds the shared parameter set reused by the insert and update operations. |
| BeforeInsert(inPortalRequest As IPortalRequest) | Protected Method | `—` | Adds the current field values to the insert request for `ATTORNEY_PROFILE`. |
| AfterInsert(InPortalRequest As IPortalRequest) | Protected Method | `—` | Verifies that one row was inserted and marks the object persisted; records an error when the insert fails. |
| BeforeUpdate(inPortalRequest As IPortalRequest) | Protected Method | `—` | Adds the current field values to the update request for `ATTORNEY_PROFILE`. |
| AfterUpdate(InPortalRequest As IPortalRequest) | Protected Method | `—` | Verifies that one row was updated and marks the object persisted; records a contention error when the update fails. |
| BeforeDelete(inPortalRequest As IPortalRequest) | Protected Method | `—` | Builds the delete request for `ATTORNEY_PROFILE` using this row's key values. |
| AfterDelete(InPortalRequest As IPortalRequest) | Protected Method | `—` | Verifies that one row was deleted and resets the object to a new state; records a contention error when the delete fails. |
| Load(inDataPortalInfo As IDataPortalInfo, Row As clsResultSet.DataRow) | Protected Friend Method | `—` | Loads this attorney profile from a retrieved `clsResultSet.DataRow` and attaches criteria/data-portal state. |
| New() | Protected Friend Constructor | `—` | Framework constructor used when the data portal creates or materializes an instance. |
| NewAttorneyProfile(inDataportal As IDataPortalInfo) | Shared Method | `clsAttorneyProfile` | Creates a new unsaved attorney profile through the data portal so framework initialization runs. |
| GetAttorneyProfile(inDataportal As IDataPortalInfo, inAttorneyEmployeeID As String) | Shared Method | `clsAttorneyProfile` | Retrieves the attorney profile for the supplied attorney employee ID. |
| AddBusinessRules() | Protected Method | `—` | Registers rules requiring an attorney, attorney type, a begin date, a valid end date, and no duplicate attorney row within the parent collection. |
| Rule_ValidBeginDate(inTarget As Object, inArgs As clsRuleArgs) | Method | `Boolean` | Checks that an effective/begin date has been supplied for the profile. |
| Rule_ValidEndDate(inTarget As Object, inArgs As clsRuleArgs) | Method | `Boolean` | Checks that the expiration date is blank or falls on/after the effective date. |
| Rule_DuplicateAttorney(inProfile As Object, inArgs As clsRuleArgs) | Protected Shared Method | `Boolean` | Checks the parent profile collection for a duplicate `AttorneyEmployeeID` before the row is treated as valid. |

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources

- `SAIF.Business.Claim.Legal\TableMaint\clsAttorneyProfile.vb`
